<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>UCARPP: includes/swap.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">UCARPP
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('swap_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">includes/swap.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="vehicleState_8h_source.html">vehicleState.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="operations_8h_source.html">operations.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tabooList_8h_source.html">tabooList.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="solution_8h_source.html">solution.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="los_8h_source.html">los.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="graph_8h_source.html">graph.h</a>&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for swap.h:</div>
<div class="dyncontent">
<div class="center"><img src="swap_8h__incl.png" border="0" usemap="#includes_2swap_8h" alt=""/></div>
<map name="includes_2swap_8h" id="includes_2swap_8h">
<area shape="rect" id="node5" href="vehicleState_8h.html" title="vehicleState.h" alt="" coords="783,315,887,344"/><area shape="rect" id="node26" href="operations_8h.html" title="operations.h" alt="" coords="467,237,560,267"/><area shape="rect" id="node36" href="tabooList_8h.html" title="tabooList.h" alt="" coords="121,315,207,344"/><area shape="rect" id="node43" href="solution_8h.html" title="solution.h" alt="" coords="391,160,468,189"/><area shape="rect" id="node49" href="los_8h.html" title="los.h" alt="" coords="323,83,373,112"/><area shape="rect" id="node52" href="graph_8h.html" title="graph.h" alt="" coords="677,469,741,499"/><area shape="rect" id="node7" href="vehiclePath_8h.html" title="vehiclePath.h" alt="" coords="684,392,785,421"/><area shape="rect" id="node20" href="edgeGraph_8h.html" title="edgeGraph.h" alt="" coords="824,547,920,576"/><area shape="rect" id="node11" href="edgeSol_8h.html" title="edgeSol.h" alt="" coords="523,469,603,499"/><area shape="rect" id="node14" href="edgeID_8h.html" title="edgeID.h" alt="" coords="523,547,597,576"/><area shape="rect" id="node32" href="gMatrix_8h.html" title="gMatrix.h" alt="" coords="432,392,507,421"/><area shape="rect" id="node38" href="tabooExpire_8h.html" title="tabooExpire.h" alt="" coords="195,469,296,499"/><area shape="rect" id="node60" href="tabooState_8h.html" title="tabooState.h" alt="" coords="144,237,240,267"/><area shape="rect" id="node63" href="ALGConfiguration_8h.html" title="ALGConfiguration.h" alt="" coords="205,392,341,421"/></map>
</div>
</div>
<p><a href="swap_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSwapBestChoice.html">SwapBestChoice</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a852f1d05a3db63fa78289bcd18425c1d">SWAP_NOTQ_OK</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a4eb7aea6401ed2bca9d7927cce60a21e">SWAP_ONLYEDGE1</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a4f960f22c330c04180b14df7d1fbd370">SWAP_ONLYEDGE2</a>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a33573da89808bfd9008875829ab5eaa3">SWAP_BOTHEDGES</a>&#160;&#160;&#160;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a79f71d3904b4586b6ff2bdec43e1d6e6">SWAP_ADDTENURE</a>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a6bd1043d35f7ae4eba54f1d395036414">SWAP_REMTENURE</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#aaef62fa04d3b6d4b3c11d852387b5a85">SWAP_GENERATIONMODE_0</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a2361d618de86d00d133f2f1deaa4d1c1">SWAP_GENERATIONMODE_1</a>&#160;&#160;&#160;1</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#aba2c47ed6ed1a3d668cb8f8f3dbf767d">SwapBestChoice</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#ab2a010784b9ef69f54637be4b6f3d47e">initSwapBestChoice</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a56cd353453c90dfe6e0969a5a301e6cf">generateCrossedEdges</a> (<a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> e1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> e2, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> s1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> s2, int generationmode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a309c2fe53dad5a17e42e388ec0d8ffa2">printSwapBestChoice</a> (FILE *f, <a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a> obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a59fbe3e6e2f486f6da2cd77037c74185">freeSwapBestChoice</a> (<a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a> obj)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#ae5d2cd8db1c54c2597b31a06985cba4e">solveSwapNeighbourhood</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> p_graph, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> p_state, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> p_gMat, int k, <a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a> p_tabooList, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> now, <a class="el" href="los_8h.html#afecb04de172c596cdc7b8b7a86c687d7">pLOSConfiguration</a> pLOSconfig, bool notWorseningMoves)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#af616063de55cc38332cab2757e80dbff">makeSwapMove</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> pg, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> pvs, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> pgm, int k, <a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a> ptl, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> now, <a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a> pbest, int addTenure, int removeTenure)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#ac2d9107aa0d5294289772e3ccffa9892">updateSwapBestChoice</a> (<a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a> pbc, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toadd1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toadd2, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove2, int jk, bool gtoadd1, bool gtoadd2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="swap_8h.html#a6d6e84578c2fe8213ccc2a6132d19c1e">isTQOKSwap</a> (<a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> graph, <a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a> pgm, int k, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> state, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toadd1, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toadd2, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove1, int toremove1passed, <a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a> toremove2, int toremove2passed)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a79f71d3904b4586b6ff2bdec43e1d6e6"></a><!-- doxytag: member="swap.h::SWAP_ADDTENURE" ref="a79f71d3904b4586b6ff2bdec43e1d6e6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a79f71d3904b4586b6ff2bdec43e1d6e6">SWAP_ADDTENURE</a>&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Numero di iterazioni di tenure per gli archi aggiunti nella mossa SWAP. </p>

</div>
</div>
<a class="anchor" id="a33573da89808bfd9008875829ab5eaa3"></a><!-- doxytag: member="swap.h::SWAP_BOTHEDGES" ref="a33573da89808bfd9008875829ab5eaa3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a33573da89808bfd9008875829ab5eaa3">SWAP_BOTHEDGES</a>&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>un possibile valore di ritorno della funzione isTQOKSwap </p>

</div>
</div>
<a class="anchor" id="aaef62fa04d3b6d4b3c11d852387b5a85"></a><!-- doxytag: member="swap.h::SWAP_GENERATIONMODE_0" ref="aaef62fa04d3b6d4b3c11d852387b5a85" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#aaef62fa04d3b6d4b3c11d852387b5a85">SWAP_GENERATIONMODE_0</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica una modalita' per generare lo swap di 2 archi. Da utilizzare nella funzione generateCrossedEdges </p>

</div>
</div>
<a class="anchor" id="a2361d618de86d00d133f2f1deaa4d1c1"></a><!-- doxytag: member="swap.h::SWAP_GENERATIONMODE_1" ref="a2361d618de86d00d133f2f1deaa4d1c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a2361d618de86d00d133f2f1deaa4d1c1">SWAP_GENERATIONMODE_1</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica una modalita' per generare lo swap di 2 archi. Da utilizzare nella funzione generateCrossedEdges </p>

</div>
</div>
<a class="anchor" id="a852f1d05a3db63fa78289bcd18425c1d"></a><!-- doxytag: member="swap.h::SWAP_NOTQ_OK" ref="a852f1d05a3db63fa78289bcd18425c1d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a852f1d05a3db63fa78289bcd18425c1d">SWAP_NOTQ_OK</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>un possibile valore di ritorno della funzione isTQOKSwap </p>

</div>
</div>
<a class="anchor" id="a4eb7aea6401ed2bca9d7927cce60a21e"></a><!-- doxytag: member="swap.h::SWAP_ONLYEDGE1" ref="a4eb7aea6401ed2bca9d7927cce60a21e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a4eb7aea6401ed2bca9d7927cce60a21e">SWAP_ONLYEDGE1</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>un possibile valore di ritorno della funzione isTQOKSwap </p>

</div>
</div>
<a class="anchor" id="a4f960f22c330c04180b14df7d1fbd370"></a><!-- doxytag: member="swap.h::SWAP_ONLYEDGE2" ref="a4f960f22c330c04180b14df7d1fbd370" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a4f960f22c330c04180b14df7d1fbd370">SWAP_ONLYEDGE2</a>&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>un possibile valore di ritorno della funzione isTQOKSwap </p>

</div>
</div>
<a class="anchor" id="a6bd1043d35f7ae4eba54f1d395036414"></a><!-- doxytag: member="swap.h::SWAP_REMTENURE" ref="a6bd1043d35f7ae4eba54f1d395036414" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="swap_8h.html#a6bd1043d35f7ae4eba54f1d395036414">SWAP_REMTENURE</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Numero di iterazioni di tenure per gli archi rimossi nella mossa SWAP. </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aa7bd09f50bcf82141869eebd88e6e1ae"></a><!-- doxytag: member="swap.h::PswapBestChoice" ref="aa7bd09f50bcf82141869eebd88e6e1ae" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a>* <a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>puntatore di servizio. </p>

</div>
</div>
<a class="anchor" id="aba2c47ed6ed1a3d668cb8f8f3dbf767d"></a><!-- doxytag: member="swap.h::SwapBestChoice" ref="aba2c47ed6ed1a3d668cb8f8f3dbf767d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a>  <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TODO modificare questa definizione. Difatti l'arco triangolante su nodi già nel percorso non aggiunge dei nodi al totale il file racchiude tutte le funzioni, le variabili e i simboli usati per gestire la mossa Add. Come da manuale, una mossa viene definita add(n) se aggiunge alla soluzione originale n numero di nodi (eventualmente mai attraversati dalla soluzione). L'add qui implementato e' l'add(1) cioe' l'inclusione di un singolo nodo nella soluzione. L'inclusione di un solo nodo genera in realta' 3 sottocasi: 1) l'eliminazione di un arco e l'inclusione di 2 2) l'inclusione di 2 archi da un nodo di inizio 3) l'inclusione di 2 archi da un nodo di fine Per ulteriori informazioni riguardo l'add, vedere il manuale. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a59fbe3e6e2f486f6da2cd77037c74185"></a><!-- doxytag: member="swap.h::freeSwapBestChoice" ref="a59fbe3e6e2f486f6da2cd77037c74185" args="(PswapBestChoice obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="swap_8h.html#a59fbe3e6e2f486f6da2cd77037c74185">freeSwapBestChoice</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a>&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>libera dalla memoria tutti i file temporanei contenuti in obj, non lasciando alcuna traccia</p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>la memoria e' libera dalla vecchia istanza di obj </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>l'istanza da eliminare </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a56cd353453c90dfe6e0969a5a301e6cf"></a><!-- doxytag: member="swap.h::generateCrossedEdges" ref="a56cd353453c90dfe6e0969a5a301e6cf" args="(PedgeID e1, PedgeID e2, PedgeID s1, PedgeID s2, int generationmode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="swap_8h.html#a56cd353453c90dfe6e0969a5a301e6cf">generateCrossedEdges</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>e2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>s2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>generationmode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>genera una possibile coppia di archi swappati. Dati due archi da swappare esistono 2 modi diversi per effettuare lo swap; il parametro generationmode si occupa infatti di scegliere quali tipo di coppia di archi swappati generare </p>
<div align="center">
<img src="dot_inline_dotgraph_2.png" alt="dot_inline_dotgraph_2.png" border="0" usemap="#dot_inline_dotgraph_2.map"/>
<map name="dot_inline_dotgraph_2.map" id="dot_inline_dotgraph_2.map"></map>
</div>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>e1,e2 non NULL </li>
<li>s1 e s2 devono essere stati inizializzati </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>i puntatori s1 e s2 puntano a due istanza di <a class="el" href="structEdgeID.html">EdgeID</a> corrispondenti agli archi swappati </li>
<li>gli <a class="el" href="structEdgeID.html">EdgeID</a> contenuti in s1 e s2 sono validati</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">e1</td><td>l'arco da swappare </td></tr>
    <tr><td class="paramname">e2</td><td>l'arco da swappaer </td></tr>
    <tr><td class="paramname">s1</td><td>un arco swappato </td></tr>
    <tr><td class="paramname">s2</td><td>un arcop swappato </td></tr>
    <tr><td class="paramname">generationmode</td><td>quale coppia di archi swappati generare </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab2a010784b9ef69f54637be4b6f3d47e"></a><!-- doxytag: member="swap.h::initSwapBestChoice" ref="ab2a010784b9ef69f54637be4b6f3d47e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a> <a class="el" href="swap_8h.html#ab2a010784b9ef69f54637be4b6f3d47e">initSwapBestChoice</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>costruisce una nuova struttura dati utilizzabile per contenere dati temporanei circa gli archi da coinvolgere in swap per ottenere la migliore soluzione. i dati temporanei vengono <b>tutti</b> settati a zero. La struttura deve essere usata all'interno di swap per contenere quali sono, fino a quel momento, gli archi migliori da coinvolgere</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>un'istanza di <a class="el" href="structSwapBestChoice.html">SwapBestChoice</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a6d6e84578c2fe8213ccc2a6132d19c1e"></a><!-- doxytag: member="swap.h::isTQOKSwap" ref="a6d6e84578c2fe8213ccc2a6132d19c1e" args="(Pgraph graph, PGMatrix pgm, int k, PvehicleState state, PedgeID toadd1, PedgeID toadd2, PedgeID toremove1, int toremove1passed, PedgeID toremove2, int toremove2passed)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="swap_8h.html#a6d6e84578c2fe8213ccc2a6132d19c1e">isTQOKSwap</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>pgm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toadd1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toadd2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>toremove1passed</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>toremove2passed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>verifica se il percorso ottenuto: </p>
<ul>
<li>considerando il cammino in state </li>
<li>considerando gli archi toadd1 e toadd2 </li>
<li>tralascando gli archi toremove1 e toremove2</li>
</ul>
<p>e' compatibile con la condizione TQOK</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>graph non NULL </li>
<li>state non NULL </li>
<li>pgm non NULL </li>
<li>gli edgeID non sono NULL </li>
<li>k compreso in [0;K[</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">state</td><td>indica lo stato corrente della soluzione di un veicolo </td></tr>
    <tr><td class="paramname">toadd1</td><td>indica un edge da aggiungere </td></tr>
    <tr><td class="paramname">toadd2</td><td>indica un edge da aggiungere </td></tr>
    <tr><td class="paramname">toremove1</td><td>indica un edge da togliere </td></tr>
    <tr><td class="paramname">toremove1passed</td><td>indica quante volte il camion passa per l'arco toremove1 </td></tr>
    <tr><td class="paramname">toremove2</td><td>indica un edge da togliere </td></tr>
    <tr><td class="paramname">toremove2passed</td><td>indica quante volte il camion passa per l'arco toremove2 </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>uno dei possibili valori: <ul>
<li>SWAP_NOT_TQOK se il vincolo di tempo o di capacita' non viene soddisfatto </li>
<li>SWAP_ONLYEDGE1 se e' TQOK ma solo toadd1 puo' essere soddisfatto (mentre toadd2 viene solo percorso) </li>
<li>SWAP_ONLYEDGE2 se e' TQOK ma solo toadd2 puo' essere soddisfatto (mentre toadd1 viene solo percorso) </li>
<li>SWAP_BOTHEDGES se e' TQOK ed entrambi gli archi toadd1 e toadd2 vengono soddisfatti </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="af616063de55cc38332cab2757e80dbff"></a><!-- doxytag: member="swap.h::makeSwapMove" ref="af616063de55cc38332cab2757e80dbff" args="(Pgraph pg, PvehicleState pvs, PGMatrix pgm, int k, PtabooList ptl, TabooExpire now, PswapBestChoice pbest, int addTenure, int removeTenure)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="swap_8h.html#af616063de55cc38332cab2757e80dbff">makeSwapMove</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>pg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>pvs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>pgm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a>&#160;</td>
          <td class="paramname"><em>ptl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>now</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a>&#160;</td>
          <td class="paramname"><em>pbest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>addTenure</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>removeTenure</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>effettua la mossa modificando per sempre la struttura pvs passata per riferimento</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>pg, pvs, pgm, ptl e pbest non devono essere NULL </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>la struttura pvs passa una volta in meno dagli archi specificati da pbest (oppure non ci passa affatto) </li>
<li>la struttura pvs passa una colta in piu' negli archi specificat da pbest </li>
<li>la struttura pgm viene modificata </li>
<li>la taboo list contiene nuovi taboo</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pg</td><td>il grafo su cui sussiste la soluzione </td></tr>
    <tr><td class="paramname">pvs</td><td>lo stato di questo particolare camion </td></tr>
    <tr><td class="paramname">pgm</td><td>la matrice dei soddisfacimenti da modificare </td></tr>
    <tr><td class="paramname">k</td><td>il camion considerato </td></tr>
    <tr><td class="paramname">ptl</td><td>la taboo list da aggiornare </td></tr>
    <tr><td class="paramname">now</td><td>l'iteraizone attuale in cui avviene la modifica </td></tr>
    <tr><td class="paramname">pbest</td><td>la struttura contenente il miglior set di archi finora trovati </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a309c2fe53dad5a17e42e388ec0d8ffa2"></a><!-- doxytag: member="swap.h::printSwapBestChoice" ref="a309c2fe53dad5a17e42e388ec0d8ffa2" args="(FILE *f, PswapBestChoice obj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="swap_8h.html#a309c2fe53dad5a17e42e388ec0d8ffa2">printSwapBestChoice</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a>&#160;</td>
          <td class="paramname"><em>obj</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>stampa la serie di dati temporanei</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>f non NULL </li>
<li>obj non NULL</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>il file su cui stampare </td></tr>
    <tr><td class="paramname">obj</td><td>i dati temporanei da stampare </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae5d2cd8db1c54c2597b31a06985cba4e"></a><!-- doxytag: member="swap.h::solveSwapNeighbourhood" ref="ae5d2cd8db1c54c2597b31a06985cba4e" args="(Pgraph p_graph, PvehicleState p_state, PGMatrix p_gMat, int k, PtabooList p_tabooList, TabooExpire now, pLOSConfiguration pLOSconfig, bool notWorseningMoves)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="swap_8h.html#ae5d2cd8db1c54c2597b31a06985cba4e">solveSwapNeighbourhood</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>p_graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>p_state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="gMatrix_8h.html#a8668af44d44e4df02f8db2210adc4982">PGMatrix</a>&#160;</td>
          <td class="paramname"><em>p_gMat</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooList_8h.html#a540c4d1dedf8f8cbe13a89e970c411bb">PtabooList</a>&#160;</td>
          <td class="paramname"><em>p_tabooList</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>now</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="los_8h.html#afecb04de172c596cdc7b8b7a86c687d7">pLOSConfiguration</a>&#160;</td>
          <td class="paramname"><em>pLOSconfig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>notWorseningMoves</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>computa l'intorno della soluzione tramite un intorno add e ricava il migliore stato possibile per il veicolo</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">graph</td><td>indica il grafo su cui computare il nuovo intorno. Non inserire valore NULL </td></tr>
    <tr><td class="paramname">now</td><td>è l'iterazione STM corrente, usata per approciarsi alla taboolist. </td></tr>
    <tr><td class="paramname">vehicleState</td><td>indica lo stato di un veicolo, utilizzato come centro dell'intorno. Non inserire valore NULL. Attenzione: questo stato, a meno che la mossa fallisca (supponiamo possa fallire per mille motivi) sarà MODIFICATO. </td></tr>
    <tr><td class="paramname">k</td><td>l'identificativo del veicolo interessato all'ADD. Richiesto nel confronto sulla matrice G. </td></tr>
    <tr><td class="paramname">tabooList</td><td>indica la tabulist che include alcuni divieti su alcuni archi. Non inserire valore NULL </td></tr>
    <tr><td class="paramname">notWorseningMoves</td><td>filtra i candidati sui soli che non peggiorano il profitto. TODO da implementare ancora in SWAP.C </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>MOVE_STATUS_OK sse una mossa viene effettivamente eseguita; MOVE_STATUS_FAIL altrimenti. </dd></dl>

</div>
</div>
<a class="anchor" id="ac2d9107aa0d5294289772e3ccffa9892"></a><!-- doxytag: member="swap.h::updateSwapBestChoice" ref="ac2d9107aa0d5294289772e3ccffa9892" args="(PswapBestChoice pbc, PedgeID toadd1, PedgeID toadd2, PedgeID toremove1, PedgeID toremove2, int jk, bool gtoadd1, bool gtoadd2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="swap_8h.html#ac2d9107aa0d5294289772e3ccffa9892">updateSwapBestChoice</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="swap_8h.html#aa7bd09f50bcf82141869eebd88e6e1ae">PswapBestChoice</a>&#160;</td>
          <td class="paramname"><em>pbc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toadd1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toadd2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="edgeID_8h.html#a73a3d93dc3a3c49a3e5ec5ec758e309f">PedgeID</a>&#160;</td>
          <td class="paramname"><em>toremove2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>jk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>gtoadd1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>gtoadd2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>aggiorna una struttura PswapBestChoice con dei valori piu' aggiornati</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>pbc non NULL </li>
<li>toadd1, toadd2, toremove1, toremove2 non NULL e con i&lt;j</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">pbc</td><td>indica la struttura da aggiornare </td></tr>
    <tr><td class="paramname">toadd1</td><td>indica il primo arco da aggiungere alla soluzione </td></tr>
    <tr><td class="paramname">toadd2</td><td>indica il secondo arco da aggiungere alla soluzione </td></tr>
    <tr><td class="paramname">toremove1</td><td>indica il primo arco da rimuovere dalla soluzione </td></tr>
    <tr><td class="paramname">toremove2</td><td>indica il secondo arco da rimuovere dalla soluzione </td></tr>
    <tr><td class="paramname">jk</td><td>indica il profitto ottenuto aggiungendo e rimuovendo questi archi </td></tr>
    <tr><td class="paramname">gtoadd1</td><td>se TRUE impone di soddisfare il primo arco da aggiungere </td></tr>
    <tr><td class="paramname">gtoadd2</td><td>se TRUE impone di soddisfare il secondo arco da aggiungere </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="swap_8h.html">swap.h</a>      </li>

    <li class="footer">Generated on Wed Sep 4 2013 06:38:57 for UCARPP by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
